package net.ibizsys.modelingadv.config.service;

import java.util.List;
import org.springframework.data.domain.Page;

import net.ibizsys.modelingadv.config.dto.pspfstyle.PSPFStyleDTO;
import net.ibizsys.modelingadv.config.dto.pspfstyle.PSPFStyleFilterDTO;
import net.ibizsys.modelingadv.config.dto.pspfstyle.PSPFStyleSimpleDTO;

/**
 * 实体[PSPFSTYLE]服务对象接口
 * 
 * 可通过实体运行时对象[PSPFStyleDERuntime]进行功能扩展
 */
public interface IPSPFStyleService extends net.ibizsys.central.dataentity.service.IDEService<PSPFStyleDTO, PSPFStyleFilterDTO>{

    /**
     * 行为: Create
     */
    String ACTION_CREATE = "Create";
    /**
     * 行为: Update
     */
    String ACTION_UPDATE = "Update";
    /**
     * 行为: Remove
     */
    String ACTION_REMOVE = "Remove";
    /**
     * 行为: Get
     */
    String ACTION_GET = "Get";
    /**
     * 行为: GetDraft
     */
    String ACTION_GETDRAFT = "GetDraft";
    /**
     * 行为: CheckKey
     */
    String ACTION_CHECKKEY = "CheckKey";
    /**
     * 行为: Save
     */
    String ACTION_SAVE = "Save";
    /**
     * 查询: 当前应用中心样式
     */
    String DATAQUERY_CURDC = "CurDC";
    /**
     * 查询: 当前中心（公开）
     */
    String DATAQUERY_CURDCPF = "CurDCPF";
    /**
     * 查询: 当前中心（Session）
     */
    String DATAQUERY_CURDCPF2 = "CurDCPF2";
    /**
     * 查询: 当前中心（数据上下文）
     */
    String DATAQUERY_CURDCPF3 = "CurDCPF3";
    /**
     * 查询: 当前中心（用户上下文）
     */
    String DATAQUERY_CURDCPF4 = "CurDCPF4";
    /**
     * 查询: 当前应用框架
     */
    String DATAQUERY_CURPF = "CurPF";
    /**
     * 查询: 当前应用框架（当前应用中心）
     */
    String DATAQUERY_CURPF2 = "CurPF2";
    /**
     * 查询: 应用框架（公开，非中心）
     */
    String DATAQUERY_CURPF3 = "CurPF3";
    /**
     * 查询: 数据查询
     */
    String DATAQUERY_DEFAULT = "DEFAULT";
    /**
     * 查询: 基础属性查询
     */
    String DATAQUERY_SIMPLE = "SIMPLE";
    /**
     * 查询: 默认（全部数据）
     */
    String DATAQUERY_VIEW = "VIEW";
    /**
     * 集合: 当前应用中心样式
     */
    String DATASET_CURDC = "CurDC";
    /**
     * 集合: 当前应用中心网页端应用样式
     */
    String DATASET_CURDCOPENWEB = "CurDCOpenWeb";
    /**
     * 集合: 当前中心（公开）
     */
    String DATASET_CURDCPF = "CurDCPF";
    /**
     * 集合: 当前中心（Session）
     */
    String DATASET_CURDCPF2 = "CurDCPF2";
    /**
     * 集合: 当前中心（数据上下文）
     */
    String DATASET_CURDCPF3 = "CurDCPF3";
    /**
     * 集合: 当前中心全部（Session）
     */
    String DATASET_CURDCPFALL = "CurDCPFAll";
    /**
     * 集合: 当前中心全部（数据上下文）
     */
    String DATASET_CURDCPFALL2 = "CurDCPFAll2";
    /**
     * 集合: 当前应用框架
     */
    String DATASET_CURPF = "CurPF";
    /**
     * 集合: 当前应用样式（公开，非应用中心）
     */
    String DATASET_CURPF3 = "CurPF3";
    /**
     * 集合: 数据集
     */
    String DATASET_DEFAULT = "DEFAULT";

    /**
     * 行为: Create
     *
     */
    void create(PSPFStyleDTO dto) throws Throwable;
    /**
     * 行为: Update
     *
     */
    void update(PSPFStyleDTO dto) throws Throwable;
    /**
     * 行为: Remove
     *
     */
    void remove(List<String> keys) throws Throwable;
    /**
     * 行为: Get
     *
     */
    PSPFStyleDTO get(String key) throws Throwable;
    /**
     * 行为: GetDraft
     *
     */
    PSPFStyleDTO getDraft(PSPFStyleDTO dto) throws Throwable;
    /**
     * 行为: CheckKey
     *
     */
    Integer checkKey(PSPFStyleDTO dto) throws Throwable;
    /**
     * 行为: Save
     *
     */
    void save(PSPFStyleDTO dto) throws Throwable;

    /**
     * 集合: 当前应用中心样式
     *
     */
    Page<PSPFStyleDTO> fetchCurDC(PSPFStyleFilterDTO dto) throws Throwable; 
    /**
     * 集合: 当前应用中心网页端应用样式
     *
     */
    Page<PSPFStyleDTO> fetchCurDCOpenWeb(PSPFStyleFilterDTO dto) throws Throwable; 
    /**
     * 集合: 当前中心（公开）
     *
     */
    Page<PSPFStyleDTO> fetchCurDCPF(PSPFStyleFilterDTO dto) throws Throwable; 
    /**
     * 集合: 当前中心（Session）
     *
     */
    Page<PSPFStyleDTO> fetchCurDCPF2(PSPFStyleFilterDTO dto) throws Throwable; 
    /**
     * 集合: 当前中心（数据上下文）
     *
     */
    Page<PSPFStyleDTO> fetchCurDCPF3(PSPFStyleFilterDTO dto) throws Throwable; 
    /**
     * 集合: 当前中心全部（Session）
     *
     */
    Page<PSPFStyleDTO> fetchCurDCPFAll(PSPFStyleFilterDTO dto) throws Throwable; 
    /**
     * 集合: 当前中心全部（数据上下文）
     *
     */
    Page<PSPFStyleDTO> fetchCurDCPFAll2(PSPFStyleFilterDTO dto) throws Throwable; 
    /**
     * 集合: 当前应用框架
     *
     */
    Page<PSPFStyleDTO> fetchCurPF(PSPFStyleFilterDTO dto) throws Throwable; 
    /**
     * 集合: 当前应用样式（公开，非应用中心）
     *
     */
    Page<PSPFStyleDTO> fetchCurPF3(PSPFStyleFilterDTO dto) throws Throwable; 
    /**
     * 集合: 数据集
     *
     */
    Page<PSPFStyleDTO> fetchDefault(PSPFStyleFilterDTO dto) throws Throwable; 
}
